const path = require("path");
// const webpack = require('webpack')
function resolve(dir) {
  return path.join(__dirname, dir);
}
module.exports = {
  publicPath: "/", // 根域上下文目录
  lintOnSave: false, //是否在保存的时候使用 `eslint-loader` 进行检查。
  outputDir: "dist", // 构建输出目录
  assetsDir: "assets", // 静态资源目录 (js, css, img, fonts)
  indexPath: "index.html",
  filenameHashing: false, //文件名哈希
  devServer: {
    // overlay: { //关闭检查蒙层
    //     warnings: false,
    //     errors: false
    // },
    open: true, // 配置是否自动启动浏览器
    port: 7783, // 端口号
    host: "0.0.0.0",
    https: false, // 是否使用https, https使用node的一个内部默认的ca证书
    // proxy: "http://apis.juhe.cn/", // 配置跨域处理,只有一个代理
    proxy: { // 配置多个跨域代理
        '/': {
            //要访问的跨域的api的域名
            target: 'http://47.96.151.102:9002/rbac',
            ws: true,
            secure: false, // http 检查
            changOrigin: true,
            // pathRewrite: {
            //     '^/rbac': ''
            // }
        }
    },
    // before: app => { }
  },
  chainWebpack: (config) => {
    const fileRule = config.module.rule("file");
    fileRule.uses.clear();
    fileRule
      .test(/\.pdf|ico$/)
      .use("file-loader")
      .loader("file-loader")
      .options({
        limit: 10000,
      }).end();
    // config.module
    //   .rule("fonts")
    //   .test(/\.(woff?2|eot|ttf|otf|svg)(\?.*)?$/i)
    //   .use("url-loader")
    //   .loader("url-loader")
    //   .options({
    //     limit: 4096,
    //     fallback: {
    //       loader: "file-loader",
    //       options: {
    //         name: `/style/fonts/[name].[ext]`,
    //       },
    //     },
    //   }).end();
    config.module
      .rule("images")
      .test(/\.(png|jpe?g|gif|svg)(\?.*)?$/)
      .use("url-loader")
      .loader("url-loader")
      .options({
        limit: 10240, // 图片小于10k转为base64,默认4k
      }).end();
    config.resolve.alias.set("@", resolve("src"));
    // .set('@/assets', resolve('src/assets'))
    config.plugin("html").tap((args) => {
      args[0].title = "测试Admin";
      return args;
    });
  },
};
